mudbox::SubdivisionLevel Class Reference

#include <subdivision.h>

Inheritance diagram for mudbox::SubdivisionLevel:

Inheritance graph
[legend]
List of all members.

Detailed Description

Represents one level of subdivision details in a geometry.

Public Member Functions

virtual const mudbox::ClassDesc RuntimeClass (void) const
virtual class Geometry Geometry (void) const
  Returns the geometry that this mesh belongs to.
virtual SubdivisionLevel NextLevel (void)
  Returns the next (one detail higher) level.
virtual SubdivisionLevel PrevLevel (void)
  Returns the previous (one detail lower) level.
virtual unsigned int  Index (void) const
  Returns the index in the level list of the geometry.
virtual unsigned int  TotalFaceCount (void) const
  Returns the maximum reachable face count on the level. Equals to the total face count of the previous level * 4.
virtual SubdivisionLevel Subdivide (bool bProcessUV=true)
  Subdivides the level to a higher detail.
virtual void  CopyTo (SubdivisionLevel *pDestination) const
  Copy the content of this SubdivisionLevel to another one.
virtual void  ApplyChanges (void)
  Updates the previous level with all the changes on the current level.
virtual void  RecreateUVs (bool bForced=false)
  Creates the UV layout if not exists or recreates if forced.
virtual void  CheckMeshGrid (unsigned int iBaseFaceIndex, unsigned int iLevel) const
virtual void  ConvertToRelative ()
virtual void  ConvertToAbsolute ()

Static Public Member Functions

const mudbox::ClassDesc StaticClass (void)
mudbox::Node CreateInstances (unsigned int iCount=1)
void  SetUVCreation (bool bCreateUV)
const Store< unsigned int > &  QuadIndexTable (unsigned int iLevel)
const Store< unsigned int > &  QuadVertexIndexTable (unsigned int iLevel)
const Store< unsigned int > &  InvertedQuadIndexTable (unsigned int iLevel)

Protected Member Functions

  SubdivisionLevel (FaceType eFaceType=typeQuadric)
  Do not use constructors directly. Use CreateInstances() instead.

Constructor & Destructor Documentation

mudbox::SubdivisionLevel::SubdivisionLevel FaceType  eFaceType = typeQuadric  )  [protected]
 

Do not use constructors directly. Use CreateInstances() instead.


Member Function Documentation

virtual const mudbox::ClassDesc* mudbox::SubdivisionLevel::RuntimeClass void   )  const [inline, virtual]
 

Reimplemented from mudbox::Mesh.

00025 :
const mudbox::ClassDesc* mudbox::SubdivisionLevel::StaticClass void   )  [static]
 

Reimplemented from mudbox::Mesh.

mudbox::Node* mudbox::SubdivisionLevel::CreateInstances unsigned int  iCount = 1  )  [static]
 

Reimplemented from mudbox::Mesh.

virtual class Geometry* mudbox::SubdivisionLevel::Geometry void   )  const [virtual]
 

Returns the geometry that this mesh belongs to.

Reimplemented from mudbox::Mesh.

virtual SubdivisionLevel* mudbox::SubdivisionLevel::NextLevel void   )  [virtual]
 

Returns the next (one detail higher) level.

virtual SubdivisionLevel* mudbox::SubdivisionLevel::PrevLevel void   )  [virtual]
 

Returns the previous (one detail lower) level.

virtual unsigned int mudbox::SubdivisionLevel::Index void   )  const [virtual]
 

Returns the index in the level list of the geometry.

virtual unsigned int mudbox::SubdivisionLevel::TotalFaceCount void   )  const [virtual]
 

Returns the maximum reachable face count on the level. Equals to the total face count of the previous level * 4.

virtual SubdivisionLevel* mudbox::SubdivisionLevel::Subdivide bool  bProcessUV = true  )  [virtual]
 

Subdivides the level to a higher detail.

virtual void mudbox::SubdivisionLevel::CopyTo SubdivisionLevel pDestination  )  const [virtual]
 

Copy the content of this SubdivisionLevel to another one.

virtual void mudbox::SubdivisionLevel::ApplyChanges void   )  [virtual]
 

Updates the previous level with all the changes on the current level.

virtual void mudbox::SubdivisionLevel::RecreateUVs bool  bForced = false  )  [virtual]
 

Creates the UV layout if not exists or recreates if forced.

The calculation is based on the uv layout of the previous level; if it does not exist it will be created recursively down to level0. If level 0 has no UV the funcion does nothing.

void mudbox::SubdivisionLevel::SetUVCreation bool  bCreateUV  )  [static]
 
const Store<unsigned int>& mudbox::SubdivisionLevel::QuadIndexTable unsigned int  iLevel  )  [static]
 
const Store<unsigned int>& mudbox::SubdivisionLevel::QuadVertexIndexTable unsigned int  iLevel  )  [static]
 
const Store<unsigned int>& mudbox::SubdivisionLevel::InvertedQuadIndexTable unsigned int  iLevel  )  [static]
 
virtual void mudbox::SubdivisionLevel::CheckMeshGrid unsigned int  iBaseFaceIndex,
unsigned int  iLevel
const [virtual]
 
virtual void mudbox::SubdivisionLevel::ConvertToRelative  )  [virtual]
 
virtual void mudbox::SubdivisionLevel::ConvertToAbsolute  )  [virtual]
 

mudbox::SubdivisionLevel mudbox::SubdivisionLevel mudbox::SubdivisionLevel mudbox::SubdivisionLevel mudbox::SubdivisionLevel mudbox::SubdivisionLevel mudbox::SubdivisionLevel mudbox::SubdivisionLevel mudbox::SubdivisionLevel mudbox::SubdivisionLevel
mudbox::SubdivisionLevel mudbox::SubdivisionLevel mudbox::SubdivisionLevel mudbox::SubdivisionLevel mudbox::SubdivisionLevel mudbox::SubdivisionLevel mudbox::SubdivisionLevel mudbox::SubdivisionLevel mudbox::SubdivisionLevel mudbox::SubdivisionLevel